﻿using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace baroIstatistik.Class
{
	public class dataCUD
	{
        public static int ekle(string tabloadi, object[] kolonlar, object[] degerler)
        {
            int durum = 0;
            try
            {
                string sorgu = "";
                string sorgu1 = "";
                string sorgu2 = "";
                // insert into products (ProductName,UnitPrice,UnitsINStock) values (@ProductName,@UnitPrice,@UnitsINStock)
                for (int i = 0; i < kolonlar.Length; i++)
                {
                    if (i != kolonlar.Length - 1)
                    {
                        sorgu1 += kolonlar[i].ToString() + ',';
                        sorgu2 += '@' + kolonlar[i].ToString() + ',';
                    }
                    else
                    {
                        sorgu1 += kolonlar[i].ToString();
                        sorgu2 += '@' + kolonlar[i].ToString();
                    }
                }
                sorgu = "insert into " + tabloadi + "(" + sorgu1 + ")" + " values(" + sorgu2 + ")";
                SqlConnection sqlcon = connection.baglanti;
                SqlCommand sqlcmd = new SqlCommand(sorgu, sqlcon);
                for (int i = 0; i < kolonlar.Length; i++)
                {
                    sqlcmd.Parameters.AddWithValue("@" + kolonlar[i].ToString(), degerler[i].ToString());
                }
                sqlcon.Open();
                sqlcmd.ExecuteNonQuery();
                sqlcon.Close();
                durum = 1;
                return durum;
            }
            catch (Exception)
            {
                return durum;
            }
        }

        public static int sil(string tabloadi, string[] belirteckolon, string[] belirtecdeger, string baglac)
        {
            int durum = 0;
            string sorgu = "";
            string sorgu1 = "";
            try
            {
                switch (baglac)
                {
                    case "and":
                        for (int i = 0; i < belirteckolon.Length; i++)
                        {
                            if (i != belirteckolon.Length - 1)
                            {
                                sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i] + " and ";
                            }
                            else
                            {
                                sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i];
                            }
                        }
                        sorgu = "delete from " + tabloadi + " where " + sorgu1;
                        break;
                    case "or":
                        for (int i = 0; i < belirteckolon.Length; i++)
                        {
                            if (i != belirteckolon.Length - 1)
                            {
                                sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i] + " or ";
                            }
                            else
                            {
                                sorgu1 += belirteckolon[i] + "=@" + belirteckolon[i];
                            }

                        }
                        sorgu = "delete from " + tabloadi + " where " + sorgu1;
                        break;
                    default:
                        sorgu = "delete from " + tabloadi + " where " + belirteckolon[0] + "=@" + belirteckolon[0];
                        break;
                }
                SqlConnection sqlcon = connection.baglanti;
                SqlCommand sqlcmd = new SqlCommand(sorgu, sqlcon);
                for (int i = 0; i < belirteckolon.Length; i++)
                {
                    sqlcmd.Parameters.AddWithValue("@" + belirteckolon[i], belirtecdeger[i]);
                }
                sqlcon.Open();
                sqlcmd.ExecuteNonQuery();
                sqlcon.Close();
                durum = 1;
                return durum;
            }
            catch (Exception)
            {



                return durum;
            }



        }

        public static int guncelle(string tabloadi, string[] kolonlar, string[] degerler, string belirteckolon, string belirtecdeger)
        {
            int durum = 0;
            string sorgu = "";
            string sorgu1 = "";
            string sorgu2 = "";
            try
            {
                for (int i = 0; i < kolonlar.Length; i++)
                {
                    if (i != kolonlar.Length - 1)
                    {
                        sorgu1 += kolonlar[i] + "=@" + kolonlar[i] + ",";

                    }
                    else
                    {
                        sorgu1 += kolonlar[i] + "=@" + kolonlar[i];
                    }

                }
                sorgu2 += belirteckolon + " = @" + belirteckolon;

                // sorgu= update products set Productname=@Productname where productID=@productID


                sorgu = "update " + tabloadi + " set " + sorgu1 + " where " + sorgu2;
                SqlConnection sqlcon = connection.baglanti;
                SqlCommand sqlcmd = new SqlCommand(sorgu, sqlcon);

                for (int i = 0; i < kolonlar.Length; i++)
                {
                    sqlcmd.Parameters.AddWithValue("@" + kolonlar[i], degerler[i]);
                }
                sqlcmd.Parameters.AddWithValue("@" + belirteckolon, belirtecdeger);


                sqlcon.Open();


                sqlcmd.ExecuteNonQuery();
                sqlcon.Close();


                durum = 1;
                return durum;


            }
            catch (Exception)
            {

                return durum;
            }










        }







	}
}